/**
 * @author xinjie.txt
 * @time: 2020年7月1日 下午11:54:02
 */
package com.jiepu.daily.corejava.day0701.test;

import java.util.Arrays;

/**
 * @Description: 7、按照以下要求完成程序 a)创建一个称作Array2D 的类，在main()方法中声明一个称作twoD的变
 *               量，类型为int二维数组，第一维长度为4。
 * 
 *               b)创建一个元素类型为int的数组，该数组应包括4个元素并被赋值到变量twoD[0]。
 * 
 *               c)编写两个嵌套for()循环语句以打印twoD 的全部值，以矩阵的格式输出。
 * 
 *               d)编译并运行程序。是不是发现此时出现了运行错误(空指针异常)，这是因为twoD[1]至twoD[3]未被初始化。
 * 
 *               e)分别创建包括5个、6个和7个元素的int数组，将这些数组的引用分别赋予twoD[1]，twoD[2]和twoD[3]；确认完成上述操作的代码位置是在第3步所描述的嵌套for()循环之前。
 * 
 *               f)编译并运行程序。应该看到一个零值的非矩形布局。
 *               g)赋予twoD数组的每个元素一个明显的非零值(提示：使用Math.random()以获得0~1之间的随机值，通过"*"将其放大100倍)。
 * 
 *               h)声明一个类型为int的一维数组oneD，长度为4，将该数组的引用分别赋予数组twoD[0]。对oneD中的元素赋值后，打印oneD和twoD数组。
 * 
 *               i)编译并运行程序。应该看到oneD中的数组元素和twoD中的部分元素是相同的。
 * 
 * @author xinjie.txt
 */
public class Array2D {

	/**
	 * @Description:
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// a
		int[][] twoD = new int[4][];
		// b
		int[] twoD0 = new int[4];

		int[] twoD1 = new int[5];
		int[] twoD2 = new int[6];
		int[] twoD3 = new int[7];
		int[] oneD = new int[4];
		// 默认0值
		twoD[0] = twoD0;
		twoD[1] = twoD1;
		twoD[2] = twoD2;
		twoD[3] = twoD3;

		// 打印二维数组twoD[][];

		for (int i = 0; i < twoD.length; i++) {
			for (int j = 0; j < twoD[i].length; j++) {
				twoD[i][j] = (int) (Math.random() * 100);
				System.out.print(twoD[i][j] + " ");
			}
			System.out.println();
		}

		System.out.println();
		System.out.println("oneD[4]:  \n");

		oneD = twoD[0];
		System.out.println(Arrays.toString(oneD));
		
/*		
		for (int i = 0, len = oneD.length; i < len; i++) {
			System.out.print(oneD[i] + " ");

		}
		*/

	} // main

}
